package GPSChallenge.movimiento;
import org.jdom2.*;
public class Posicion
{
	private int x;
	private int y;
	
	public Posicion(int x, int y  ) {
		
		this.x = x;
		this.y = y;
	}
	
	public Posicion(Element pos){
		this.x= Integer.parseInt(pos.getAttributeValue("x"));
		this.y= Integer.parseInt(pos.getAttributeValue("y"));
		
	}
	
	public int obtenerCoordenadaX() {
		
		return this.x;
	}

	public int obtenerCoordenadaY() {

		return this.y;
	}

	public boolean igualdadDePosicion(Posicion otraPosicion) {
		
		return (( this.x == otraPosicion.obtenerCoordenadaX() ) &&
			    ( this.y == otraPosicion.obtenerCoordenadaY() ));
	}
	
	public Posicion sumarPosicion(Posicion posicion) {
		
		return new Posicion(this.x + posicion.obtenerCoordenadaX(), this.y + posicion.obtenerCoordenadaY() );
	}
	
	public Posicion restarPosicion(Posicion posicion)
	{
		return new Posicion(this.x - posicion.obtenerCoordenadaX(), this.y - posicion.obtenerCoordenadaY());
	}
	
	public  boolean tieneUnaParteNegativa() {
		
		boolean esNegativa = false;
		
		if (( (this.obtenerCoordenadaX()) < 0 ) || ( (this.obtenerCoordenadaY()) < 0 )) 
			esNegativa = true;;
		
		return esNegativa;
	}
	
	public Element Serializar(){
		Element posicion = new Element("posicion");
		posicion.setAttribute("x",String.valueOf(x));
		posicion.setAttribute("y",String.valueOf(y));
		return posicion;
	}

	public void invertir() {
		
		int aux = this.x;
		this.x = this.y;
		this.y = aux;		
	}

}
